Шаг 888 - CPen::CPen.

Автор Каев А. Г.
CPen( );
CPen( int nPenStyle, int nWidth, COLORREF crColor );
throw( CResourceException );
CPen( int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush, int nStyleCount = 0, const DWORD* lpStyle = NULL );
throw( CResourceException );

Параметры
nPenStyle
Определяет перьевой стиль. Этот параметр в первой версии конструктора может быть одно из следующих значений:

 
PS_SOLID 		Создает сплошное перо.
PS_DASH 		Создает пунктирное  перо. Допустимый только, когда перьевая ширина 1 или меньше, 
		в модулях устройства.
PS_DOT 		Создает точечное перо. Допустимый только, когда перьевая ширина 1 или меньше, 
		в модулях устройства.
PS_DASHDOT 	Создает перо с чередованием,  черточки и точки. Допустимый только, когда перьевая 
		ширина 1 или меньше, в модулях устройства.
PS_DASHDOTDOT 	Создает перо с чередованием, черточки и двойные точки. Допустимый только, когда перьевая 
		ширина 1 или меньше, в модулях устройства.
PS_NULL 	Создает пустое перо.
PS_INSIDEFRAME 	Создает перо, которое выводит линию внутри рамки закрытых форм, произведенных 
		Windows GDI функциями вывода, которые определяют ограничительный прямоугольник 
		(например, Ellipse, Rectangle, RoundRect, Pie, и Chord функции . 
		Когда этот стиль используется с Windows GDI функции вывода, которые не определяют ограничительный 
		прямоугольник (например, LineTo функция), область рисунка пера не ограничена рамкой. 

Вторая версия CPen конструктора определяет комбинацию типа, стиля, конца и начала, и атрибутов объединения. Значения из каждой категории должны быть объединены, используя поразрядный или (OR) оператор (|). Перьевой тип может быть одно из следующих значений:

PS_GEOMETRIC 	Создает геометрическое перо.
PS_COSMETIC 	Создает косметическое перо. 

Вторая версия CPen конструктора добавляет следующие перьевые стили для nPenStyle:

PS_ALTERNATE 	Создает перо, которое устанавливает все остальные пиксели. (Этот стиль применим только для 
		косметических перьев.)
PS_USERSTYLE 	Создает перо, которое использует  массив стилей, обеспеченный пользователем. 

Конец и начало может быть одно из следующих значений:

PS_ENDCAP_ROUND 	Окончание округлое.
PS_ENDCAP_SQUARE 	Окончание квадратное.
PS_ENDCAP_FLAT 		Окончание плоское. 

Объединение может быть одно из следующих значений:

PS_JOIN_BEVEL 		Соединения скашиваться.
PS_JOIN_MITER 		Соединения специального типа , когда они - внутри текущего набора ограничений функцией 
			SetMiterLimit. Если соединение превышает это ограничение, оно скашиваеться.
PS_JOIN_ROUND 		Объединения скругляються. 

nWidth
Определяет ширину пера.
Для первой версии конструктора, если это значение - 0, ширина в модулях устройства - всегда 1 пиксель, независимо от режима отображения.
Для второй версия конструктора, если nPenStyle - PS_GEOMETRIC, ширина, дана в логических модулях. Если nPenStyle - PS_COSMETIC, ширина должна быть установлена к 1.
crColor
Содержит RGB цвет для пера.
pLogBrush
Указатель на структуру LOGBRUSH. Если nPenStyle - PS_COSMETIC, lbColor член структуры LOGBRUSH определяет цвет пера, и lbStyle член структуры LOGBRUSH должен быть установлен к BS_SOLID. Если nPenStyle - PS_GEOMETRIC, все элементы должны использоваться, чтобы определить атрибуты кисти пера.
nStyleCount
Определяет длину, в модулях двойного слова, lpStyle массива. Это значение должно быть нуль, если nPenStyle - не PS_USERSTYLE.
lpStyle
Указатель на массив значений двойного слова. Первое значение определяет длину первой черточки в определяемом пользователем стиле, второй, значение определяет длину первого пробела, и так далее. Этот указатель должен быть NULLnPenStyle - не PS_USERSTYLE.

Замечания
Если Вы используете конструктор без параметров, Вы должны инициализировать возникающий в результате объект CPen с CreatePen, CreatePenIndirect, или CreateStockObject функциями. Если Вы используете конструктор, который берет параметры, то никакая дальнейшая инициализация не требуется. Конструктор с параметрами может бросать исключительную ситуацию, если с ошибками сталкиваются, в то время как конструктор без параметров будет всегда преуспевать.

Hosted by uCoz